package com.mxchip.livestarmobile.mobile.repository

import com.duobeiyun.paassdk.bean.AVideoState
import com.duobeiyun.paassdk.bean.SolNetworkInformation
import com.mxchip.livestarmobile.mobile.graham.SDKEventListener

abstract class SDKEventListenerWrap : SDKEventListener {

    // open fun onlineUserCount(count: Int) {}

    open fun onNetWorkDelay(delay: Int) {}

    // open fun getDumpProtocol(protocol: String) {}

    // open fun onAvActions(videoUp: Double, videoDown: Double, fps: Double) {}

    // open fun onClientRoleChanged(oldRole: Int, newRole: Int) {}

    // open fun onSessionStatsCallback(sessionSts: SessionStats) {}

    open fun onNetworkQuality(userId: String, txQuality: Int, rxQuality: Int) {}

    // open fun onLastmileQuality(quality: Int) {}

    // open fun onRemoteVideoStatsCallback(remotestats: RemoteVideoStats) {}

    // open fun onLocalVideoStatsCallback(localstats: LocalVideoStats) {}

    open fun onConnectionStateChanged(code: Int) {}

    // open fun onAudioVolumeIndication(list: List<DBVolumeInfo>, totalVolume: Int) {}

    // open fun onBroadCastMessage(uid: String, message: String) {}

    // open fun onLocalAudioStateChanged(state: Int, err: Int) {}

    // open fun onLocalVideoStateChanged(state: Int, err: Int) {}

    ////
    // open fun onError(errcode: Int) {}

    // open fun onStatusCode(code: Int) {}

    //open fun onStatusMessage(msg: String) {}

    open fun onJoinChannelSuccess(channel: String, userId: String, userName: String) {}

    // open fun onRejoinChannelSuccess(channel: String, userId: String, userName: String) {}

    open fun onLeaveChannel() {}

    open fun onUserJoined(uid: String, userName: String) {}

    open fun onUserLeave(uid: String) {}

    // open fun onClientkickOff() {}


    ////
    // open fun onFirstRemoteVideoDecoded(uid: String, deviceName: String, width: Int, height: Int): Unit {}

    // open fun onRemoteVideoStateChanged(userId: String, deviceName: String, state: AVideoState) {}

    open fun onRemoteMicStateChange(uid: String, deviceName: String, state: AVideoState) {}

    open fun onSolNetworkInformation(information: SolNetworkInformation?) {}
}